package com.cn.wanxi.servlet.user;

import com.alibaba.fastjson.JSONObject;
import com.cn.wanxi.model.UserModel;
import com.cn.wanxi.service.IUserService;
import com.cn.wanxi.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/back/user/update")
public class UserUpdateServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
               /*

        1.乱码
        2.取值
        3.封装
        4.调用service
        5.得到返回结果
        6.将返回结果返回页面（封装到json）
         */

        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");
        String idString = req.getParameter("id");//null  ""
//        idString = idString == null || idString.equals("") ? "0" : idString;
        Integer id = 0;
        try {
            id = Integer.parseInt(idString);
        } catch (Exception e) {

        }
        String username = req.getParameter("username");
        String sex = req.getParameter("sex");
        String birthday = req.getParameter("birthday");
        String height = req.getParameter("height");
        String email = req.getParameter("email");
        String hobby = req.getParameter("hobby");
        UserModel userModel = new UserModel();
        userModel.setUsername(username);
        userModel.setSex(sex);
        userModel.setBirthday(birthday);
        userModel.setEmail(email);
        userModel.setHeight(height);
        userModel.setHobby(hobby);
        userModel.setId(id);

        IUserService iUserService = new UserServiceImpl();
        int result = iUserService.update(userModel);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("result", result);
        resp.getWriter().println(jsonObject);
    }
}
/**
 * 在查询所有页面修改编辑按钮。  弹出框（定位【鼠标放在标题栏可以移动】）
 * 对于数据展示有几种方式
 *  1.直接将代码显示在弹出框，缺点：不能重用
 *  2.单独写一个编辑页面，弹出框内容通过加载的形式（推荐）
 *  点击编辑时，应该得到id值，然后将id的值传入到另一个页面。在这里用到了sessionStorage,和localStorage的区别？
 * 在编辑页面写js。页面加载的时候应该更具id查询当前数据，并返回
 * 难点：爱好，和性别的赋值
 * 因为每一次操作都会取调用后台，所以写了一个公用的myAjax，这里需要注意：  async: false,和返回值方式
 * 正式保存修改：
 * 和注册一样，正则表达式，传值时需要多加一个id，
 * 后台：对id需要进行判断，如果为空或者为null进行强制转换时会报错
 * service---dao
 * sql语句：修改  需要where条件
 */
